hackerrank problem solving